package com.cskaoyan.javase.oop3._1interface._2notice;

/**
 * 注意事项
 * Java8及其以后,接口中就允许定义两种具有实现的方法,而不是抽象方法(了解)
 * 默认实现方法
 * 语法:
 * default 返回值类型 方法名(形参列表){
 *     // 方法体
 * }
 * 注: 访问权限修饰符必须是public,不可更改
 *
 *
 * 静态实现方法
 * 语法:
 *  static 返回值类型 方法名(形参列表){
 *      // 方法体
 *  }
 * 注: 访问权限修饰符必须是public,不可更改
 * 接口中的静态方法可以用接口名点调用它,但是不能用实现类类名点调用它
 *
 * 上面两种方法仅供了解，实际开发中，可能会偶尔见到它，但自己写的概率非常小。
 *
 * @since 10:46
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo {
    public static void main(String[] args) {
        A a = new A();
        a.test();
        a.test2();

        IA.testStatic();
        // A.
    }
}

class A implements IA, IB {

}

interface IA {
    default void test() {
        System.out.println("hello world");
    }
    static void testStatic(){
        System.out.println("static");
    }
}

interface IB {
    default void test2() {
        System.out.println("hello 666");
    }
}
